-
-
Notifications
You must be signed in to change notification settings - Fork 57
Fix inconsistent URL handling with improved inline validation UX #651
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@huynhsontung 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs. I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review. |
Co-authored-by: huynhsontung <[email protected]>
…rotection Co-authored-by: huynhsontung <[email protected]>
|
@copilot Where does the And are we really opening/creating a new ContentDialog, from the OpenUrlDialog, just to show an error message? Is that really the best course of action? |
The You're absolutely right about the ContentDialog UX issue - showing a modal dialog from within another modal dialog creates poor user experience. I'll fix this by implementing inline validation within the OpenUrlDialog instead of opening a nested dialog. |
Replace nested ContentDialog with inline validation in OpenUrlDialog to provide better user experience. Users now see real-time feedback when entering unsupported URLs instead of modal-on-modal dialogs. Co-authored-by: United600 <[email protected]>
This PR fixes a critical issue where Screenbox would crash on ARM64 devices and fail silently on x64 devices when users attempted to play YouTube URLs or other unsupported streaming platform URLs.
Problem
The application previously accepted any valid URI format without validating whether it was a supported media URL. This caused:
Solution
Implemented comprehensive URL validation with two layers of protection and improved user experience:
Primary Validation (OpenUrlDialog)
Fallback Validation (MediaListViewModel)
URL Classification Logic
Blocked URLs:
Allowed URLs:
User Experience Improvements
Example
Before: User enters
https://youtube.com/watch?v=abc123→ crashes on ARM64, fails silently on x64After: User starts typing the URL → sees inline error message: "YouTube URLs are not supported. Please use direct media file URLs instead." → "Open" button remains disabled
The fix maintains full compatibility with legitimate media URLs while providing robust protection against unsupported streaming platforms and a significantly improved user experience.
Fixes #643.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.